package controller

import (
	"bluebell_qimi/logic"
	"github.com/gin-gonic/gin"
	"go.uber.org/zap"
	"strconv"
)

// 获取社区列表,也就是社区列表有哪几类
func CommunityHandler(c *gin.Context) {
	//1. 查询到所有的社区(community_id,community_name)以列表的形式返回
	data, err := logic.GetCommunityList()
	if err != nil {
		zap.L().Error("logic.GetCommunityList() failed", zap.Error(err))
		ResponseError(c, CodeServerBusy) //不轻易把服务器端报错表露在外面
		return
	}
	ResponseSuccess(c, data)
}

// 根据communityid获取社区详情
func CommunityDetailHandler(c *gin.Context) {
	//1. 获取社区id
	idStr := c.Param("id")
	id, err := strconv.ParseInt(idStr, 10, 64) //10 表示十进制数,64 表示返回的整数是 int64 类型
	if err != nil {
		ResponseError(c, CodeInvalidParam)
		return
	}

	//2. 查询到所有社区详情，根据ID查询，以列表形式返回
	data, err := logic.CommunityDetail(id)
	if err != nil {
		zap.L().Error("logic.CommunityDetail(id) failed", zap.Error(err))
		ResponseError(c, CodeServerBusy) //不轻易把服务器端报错表露在外面
		return
	}
	ResponseSuccess(c, data)
}
